#ifndef SHA1_H
#define SHA1_H

/*
   SHA-1 in C
   By Steve Reid <steve@edmweb.com>
   100% Public Domain
 */
typedef unsigned int uint32_t;

typedef struct
{
    uint32_t state[5];
    uint32_t count[2];
    unsigned char buffer[64];
} SHA1_CTX;

void SHA1Transformc(
    uint32_t state[5],
    const unsigned char buffer[64]
);

void SHA1Initc(
    SHA1_CTX *context
);

void SHA1Updatec(
    SHA1_CTX *context,
    const unsigned char *data,
    uint32_t len
);

void SHA1Finalc(
    unsigned char digest[20],
    SHA1_CTX *context
);

void SHA1(
    unsigned char *str,
    uint32_t len,
    unsigned char *hash_out);

#endif /* SHA1_H */
